package com.mcxx.modules.temporary.family.dao.read;

import java.util.List;
import java.util.Map;

import com.mcxx.modules.miniSalvation.check.dto.CheckMemberDTO;
import com.mcxx.modules.miniSalvation.check.dto.IntegrateCheckMemberDTO;
import com.mcxx.modules.miniSalvation.family.dto.FamilyMemberDTO;
import com.mcxx.modules.miniSalvation.order.dto.FamInfoDTO;
import com.mcxx.modules.temporary.family.dto.TempMemberCardRtnDTO;
import com.mcxx.modules.temporary.family.dto.TmpFamilyMemberDTO;
import com.mcxx.modules.temporary.fundpay.dto.TmpCapitalFundSaveObjectDTO;
import com.mcxx.modules.temporary.fundpay.dto.TmpFundPayDTO;
import com.mcxx.modules.temporary.fundpay.dto.TmpFundPayMemberDTO;
import com.mcxx.modules.temporary.fundpay.entity.TmpFundPayEntity;
import com.mcxx.modules.temporary.fundpay.entity.TmpFundPayMemberEntity;
import com.mcxx.modules.temporary.fundpay.param.TmpFundPayParam;
import com.mcxx.modules.temporary.order.entity.TmpOrderEntity;
import com.yinhai.ta404.module.mybatis.mapper.Ta404SupportMapper;
import org.apache.ibatis.annotations.Mapper;
import com.mcxx.modules.temporary.family.entity.TmpFamilyMemberEntity;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface TmpFamilyMemberReadDao extends Ta404SupportMapper {


	List<TmpFamilyMemberEntity> listAll();


	List<TmpFamilyMemberDTO> getByFamilyId(String familyId, String isSaveObject);



	List<TmpFamilyMemberDTO> getByFamilyIdAndReason(String familyId,String mainReason,String beginOfYear,String endOfYear);



	TmpFamilyMemberEntity getById(String id);


	TmpFamilyMemberDTO getByIdAndBusinessCode(@Param("id")String id, @Param("businessCode")String businessCode);



	TmpFamilyMemberEntity getByIdCard(String idcard);


	List<TmpFamilyMemberEntity> listByFamilyId(String familyId);


	Map<String, Integer> countMemberNumAndSaveMemberNum(String familyId);


	List<TmpFamilyMemberEntity> getFamilyRelationMapByFamilyId(String familyId);

	Map<String, String> getMemberIdAndFamilyIdByIdCard(String idcard);


    String getFamilyIdByIdCard(String idcard);


	List<TempMemberCardRtnDTO> queryMemberByCardId(String idcard);

    List<CheckMemberDTO> selectMemberListInfo(String memberId);


	int cntInfoComplete(String familyId);

	int cntFamilyMaster(@Param("familyId")String familyId);

	String selectMasterIdcard(@Param("familyId")String familyId);

	String cntCompleteInfoNum(@Param("familyId") String familyId);

	TmpFamilyMemberEntity getMasertInfo(String familyId);

	String getRelationByMemberId(@Param("memberId") String memberId,@Param("familyId")String familyId);

	List<String> getUniqueMaster(List<String> familyIds);

	List<String> cntCompleteMemberInfo(List<String> familyIds);

	List<TmpFamilyMemberEntity> getFamilyApplyMapByFamilyId(String familyId);

	TmpFamilyMemberEntity getApplyByFamilyId(String familyId);

	List<IntegrateCheckMemberDTO> selectIntegrateMember(String orderId,String familyId);

    List<TmpFamilyMemberEntity> getTempMemberByIdCards(@Param("idCards") List<String> idCards);


	List<String> getFamilyInfoByMemberIdCards(@Param("idCards") List<String> idCards);

    List<String> getTempMemberByFamilyId(String familyId);
}
